$(function(){
	$("#left").hide();//初始隐藏左边
})

$('#bgnTime').datetimepicker({
        format: 'yyyy-mm-dd',
        language: "zh-CN",
        startView:2,
        minView:2,
        autoclose: 1,    
        todayBtn: false,
        endDate: new Date()
    });
$('#endTime').datetimepicker({
        format: 'yyyy-mm-dd',
        language: "zh-CN",
        startView:2,
        minView:2,
        autoclose: 1,
        todayBtn: false,
        endDate: new Date(),
	});        
        
isExpand=false;
$("#bb").click(function() {
	if(isExpand){
		$('#deptTree').hide();
		isExpand=!isExpand;
		$(".caret").removeClass("transform");
	}else{
		$(".caret").addClass("transform");
		initDeptTree();
	}
});


function initDeptTree(){
	$.ajax({
		type: "post",
		url: "/dept/getDept2Tree",//对应后台的post
		//contentType:'application/json',
		async: false,
		//data: JSON.stringify({"helpId":"hello"}),//随便往后台传一个值
		success:function(result){
		    if(result.success){
		    	var datas=result.data;
		    	var options = {
	    			data : datas,
	    			levels : 3,
	    			highlightSelected: true,
	    			emptyIcon: '', 
	    			nodeIcon: 'fa fa-home',
	    			showBorder: false,
	    			expandIcon: "fa fa-angle-double-right fa-lg",  //设置列表上中有子节点的图标
	    			collapseIcon: "fa fa-angle-double-down fa-lg",  //设置列表上中有子节点的图标
	    			onNodeSelected : function(event, data) {
	    				$("#deptLable").html(data.deptName);//表单显示标签赋值
	    				$("#deptInput").val(data.deptName);//下拉树赋值
	    				$("#deptId").val(data.deptId);//隐藏域赋值
	    				$("#deptTree").hide();//选中树节点后隐藏树
	    				isExpand=false;
	    				//刷新列表
	    				$('#tb_post').bootstrapTable('refresh');
	    			},
	    			onNodeExpanded :function(event, node){//同一级一次只能展开一个节点
	    				var pid=node.parentId;
	    				var id=node.deptId;
	    				var nodes=$('#deptTree').treeview('getSiblings', node);
	    				for(var i=0;i<nodes.length;i++){
	    					$('#deptTree').treeview('collapseNode',[nodes[i],{ silent:true,ignoreChildren:false}]);
	    				}
	    			}
	    		};
	    		$('#deptTree').treeview(options);
	    		$('#deptTree').show();
	    		isExpand=true;
		    }
		}
	})
}

//表格的初始化
$('#tb_post').bootstrapTable({
    //data: data,                         //直接从本地数据初始化表格
    method: 'get',                      //请求方式（*）
    url:"/post/list",
    contentType: "application/x-www-form-urlencoded",
    dataType: 'json',
    toolbar: '#toolbar',                //工具按钮用哪个容器
    pagination: true,
    striped: true,                      //是否显示行间隔色
    cache: true,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
    pagination: true,                   //是否显示分页（*）
    sortable: false,                    //是否启用排序
    pageSize: 10,                       //每页的记录行数（*）
    pageNumber:1,						//默认第一页
    sortOrder: "asc",                   //排序方式
    height: 471,
     queryParams: function (params) {
    	 var param = {  
    			offset: params.offset,    
    			limit: params.limit,
    			page: (params.offset / params.limit) + 1,   //当前页码
                 sortName: "createTime",
                 sortOrder: "asc",
                 postName:$("#key").val(),  //这两个是上面模糊查询input的值
            	 bgnTime:$("#bgnTime").val(),
            	 endTime:$("#endTime").val(),
            	 deptId:$("#deptId").val(),
             };    
		return param;
    },                                  //传递参数（*）
    sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
    paginationLoop: true,
    pageList: [10, 25, 50],        //可供选择的每页的行数（*）
    search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
    strictSearch: true,
    showColumns: false,                  //是否显示所有的列
    showRefresh: false,                  //是否显示刷新按钮
    showSearch: false,
    minimumCountColumns: 2,             //最少允许的列数
    clickToSelect: true,                //是否启用点击选中行
    uniqueId: "postId",                     //每一行的唯一标识，一般为主键列
    showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
    cardView: false,                    //是否显示详细视图
    detailView: false,                   //是否显示父子表
	selectItemName: 'parentItem',
    responseHandler: function (res) {	//结果集处理
        return eval(res.data)
    },
   columns: [{
	   radio: true,
       width: '1%'
   },{
       field: 'postId',
       title: 'ID',
       visible:false,
   }, {
       field: 'postCode',
       title: '岗位编号',
       align:'center',
       width: '10%'
   }, {
       field: 'postName',
       title: '岗位名称',
       align:'center',
       width: '10%'
   },{
       field: 'state',
       title: '岗位状态',
       align:'center',
       width: '10%',
       formatter:function(value,row,index){
  		    if (row.state == '1') {//性别
   			return '<i class=\"fa fa-smile-o fa-lg\" title="启用" style=\"color:#5bc0de;\" ></i> ';
   		} else {
   			return '<i class=\"fa fa-frown-o fa-lg\"  title="停用" style=\"color:darkgrey;\" ></i> ';
   		}
     }
   },{
	   field:'deptName',
       align:'center',
       title: '所属部门',
       width: '20%'
   },{
       field: 'createBy',
       align:'center',
       title: '创建人',
       width: '10%'
   },/*{
	   field:'description',
	   align:'center',
	   title:'岗位说明',
	   width:'20%',
   },*/{
       field: 'createTime',
       align:'center',
       title: '创建时间',
       width: '30%',
       formatter:function(value, row, index){
    	   return changeDateFormat(value)
       }
   },{
       title: '操作',
       align: 'center',
       width: '10%',
       formatter: function (value, row, index) {//这里的三个参数：value表示当前行当前列的值；row表示当前行的数据；index表示当前行的索引（从0开始）。
          var html = ""
          if($("#post-remove").val()){
        	  	html+="<a type='button' title='删除' onclick=removePost('" + row.postId+"')><span style='color:#5bc0de;font-size: 15px;' class='glyphicon glyphicon-trash' aria-hidden='true' ></span ></a>";
          }
           return html;
       }
   }],
    onCheck:function(row){
    	var rows=$('#tb_post').bootstrapTable("getSelections");

    },
    onUncheck:function(row){
    	var rows=$('#tb_post').bootstrapTable("getSelections");  
    }
   });

function postSearch(){
	//刷新列表
	$('#tb_post').bootstrapTable('refresh');
}
function postRest(){
	//重置查询条件
	$('#bgnTime').val('');
	$('#endTime').val('');
	$('#key').val('');
}

$("#savePost").on('click',function(){
	var url=null;
	if($("#postId").val()!=''&&$("#postId").val()!=null){
		url='/post/editPost';
	}else{
		url='/post/savePost';
	}
	  data=$('#postForm').serialize();
	  $.ajax({ 
		  type:'post',  
		  url:url, 
		  data:data,  
		  dataType:'json',
		  success:function(data){
			  if(data.success){
				  $('#tb_post').bootstrapTable('refresh');
				  layer.msg("操作成功");
			  }else{
				  layer.msg("操作失败");
			  }
		  }
	  })
})

//转换日期格式(时间戳转换为datetime格式)
function changeDateFormat(cellval) {
    var dateVal = cellval + "";
    if (cellval != null) {
        var date = new Date(parseInt(dateVal.replace("/Date(", "").replace(")/", ""), 10));
        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
        
        var hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
        var minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
        var seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
        
        return date.getFullYear() + "-" + month + "-" + currentDate + " " + hours + ":" + minutes + ":" + seconds;
    }
}



function onclickBtn(e){
	//重置
	$("#postForm")[0].reset();
	$("#deptLable").html('');
	$("#deptInput").val('');
	$("#deptId").val('');
	$("#postId").val('');
	//获取选择数据
	var rows=$('#tb_post').bootstrapTable("getSelections");
	if(e=='edit'){
		if(rows.length<1) {layer.msg("请选择一条记录");return;}
		var data=rows[0];
		//返现数据
		$("#postId").val(data.postId);//隐藏域
		$("#deptId").val(data.deptId);//隐藏域
		$("#postName").val(data.postName);
		$("#postCode").val(data.postCode);
		$("#description").val(data.description);
		$("#remark").val(data.remark);
		$("#deptLable").html(data.deptName);//表单显示标签赋值
		$("#deptInput").val(data.deptName);//下拉树赋值
		 var radios = document.getElementsByName("state");
		if(data.state=='1'){
			radios[0].checked = true;
		}else{
			radios[1].checked = true;
		}
		//隐藏重置框
		$("#resetBtn").attr("disabled",true);
		$("#left_title").html("当前：编辑中...")
	}else{
		initDeptTree();
		$("#left_title").html("当前：添加中...")
		$("#resetBtn").removeAttr("disabled");
	}
	$("#left").show();
	$("#right").removeClass("col-sm-12");
	$("#right").addClass("col-sm-7");
	$("#ibox-r").removeClass("margin-l");
}

$("#closeAdd").on("click",function(){//收起
	$("#left").hide();
	$("#right").removeClass("col-sm-7");
	$("#right").addClass("col-sm-12");
	$("#ibox-r").addClass("margin-l");
	//重置
	$("#postForm")[0].reset();
	$("#deptLable").html('');
	$("#deptInput").val('');
	$("#deptId").val('');
	$("#postId").val('');
	$('#tb_post').bootstrapTable('refresh');
})

function removePost(pid){
    $.ajax({
        url: "/post/removePost?postId="+pid,
        method:"get",
        dataType: 'json',
        success: function (result) {
	        if(result.success){
	        	 $('#tb_post').bootstrapTable('refresh');
	        	 layer.msg("删除成功!");
        	}
		}
	});
}


